package map;

import java.util.HashMap;
import java.util.Map;

public class MapDemo2 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        // 如果要添加的键不存在，那么会把键值对都添加到集合中
        // 如果要添加的键是存在的，那么会覆盖原先的值，把原先值当做返回值进行返回
        map.put("itheima001", "小智");
        map.put("itheima002", "小美");
        map.put("itheima003", "大炮");
        map.put("itheima004", "小黑");
        map.put("itheima005", "大护");

        // v put(k key,v value) 添加元素
        // putMethod(map);

        // v remove(object key) 根据键删除键值对元素
        // removeMethod(map);

        // void clear() 移除所有的键值对元素
        // clearMethod(map);

        // boolean containsKey(object key) 判断集合是否包含指定的键
        // containsKeyMethod(map);

        // boolean containsValue(object value) 判断集合是否包含指定的值
        // containsValueMethod(map);

        // boolean isEmpty() 判断集合是否为空
        // isEmptyMethod(map);

        // int size() 集合的长度，也就是集合中键值对的个数
        sizeMethod(map);
    }

    private static void sizeMethod(Map<String, String> map) {
        // int size()                            集合的长度，也就是集合中键值对的个数
        System.out.println(map.size());
    }

    private static void isEmptyMethod(Map<String, String> map) {
        // boolean isEmpty()                     判断集合是否为空
        System.out.println(map.isEmpty());
        map.clear();
        System.out.println(map.isEmpty());
    }

    private static void containsValueMethod(Map<String, String> map) {
        // boolean containsValue(object value)   判断集合是否包含指定的值
        System.out.println(map.containsValue("aaa"));
        System.out.println(map.containsValue("小智"));
    }

    private static void containsKeyMethod(Map<String, String> map) {
        // boolean containsKey(object key)       判断集合是否包含指定的键
        System.out.println(map.containsKey("itheima001"));
        System.out.println(map.containsKey("itheima006"));
    }

    private static void clearMethod(Map<String, String> map) {
        // void clear()                          移除所有的键值对元素
        map.clear();
        System.out.println(map);
    }

    private static void removeMethod(Map<String, String> map) {
        // v remove(object key)                  根据键删除键值对元素
        System.out.println(map.remove("itheima001"));
        System.out.println(map);
    }

    private static void putMethod(Map<String, String> map) {
        // v put(k key,v value)                  添加元素
        String s = map.put("itheima001", "aaa");
        System.out.println(s);
        System.out.println(map);
    }
}
